.TH E1432_SET_INTERNAL_DEBUG 3 E1432
.SH NAME
.nf
e1432_set_internal_debug \- Set E1432 internal firmware debug level
e1432_get_internal_debug \- Get E1432 internal firmware debug level
.fi
.IX e1432_set_internal_debug(3) 3
.IX e1432_get_internal_debug(3) 3
.SH SYNOPSIS
.cS
SHORTSIZ16 e1432_set_internal_debug(E1432ID hw, SHORTSIZ16 ID,
                                    LONGSIZ32 lev)
SHORTSIZ16 e1432_get_internal_debug(E1432ID hw, SHORTSIZ16 ID,
                                    LONGSIZ32 *lev)
.cE
.SH DESCRIPTION
\fIe1432_set_internal_debug\fR sets the internal debug level of the
firmware executing in the E1432 modules referred to by \fIID\fR.

\fIe1432_get_internal_debug\fR returns the current value of the
internal firmware debug level, in the memory location pointed to by
level.

This parameter is a "global" parameter.  It applies to an entire E1432
module rather than to one of its channels.  The \fIID\fR parameter is
used only to identify which module the function applies to, and all
channels in that module will report the same value for this parameter.

\fIhw\fR must be the result of a successful call to
\fIe1432_assign_channel_numbers\fR, and specifies the group of
hardware to talk to.

\fIID\fR is either the ID of a group of channels that was obtained with a
call to \fIe1432_create_channel_group\fR, or the ID of a single channel.

\fIlev\fR is the firmware debug level.

The firmware debug level determines how much information the internal
firmware tries to print out as it executes.  This use useful only for
developers, and even then it is not always useful.

The internal debug value is a bit-mask, where each bit has a separate
meaning.  As the firmware gets optimized, some of these debugging bits
have been eliminated.  At this point, there are only a few bits that
are still useful:

.ne 19
.TS
box center;
c s
c | c
l | l.
Internal Debug Bit Definitions
_
Bit	Meaning
=
0x00000200	Print host commands and parameters
0x00000400	Print measurment state changes
0x00004000	Print source driver info
0x00008000	Print source register accesses
.TE

The printout from the firmware goes to a buffer inside the E1432
module.  If nothing is monitoring this buffer, then the printout is
just ignored and there is no point in setting the firmware debug
level.  Use the \fIe1432mon\fR program to monitor the printout buffer.
.SH "RESET VALUE"
After a reset, \fIlev\fR is set to \fB0\fR.
.SH "RETURN VALUE"
Return 0 if successful, a (negative) error number otherwise.
.SH "SEE ALSO"
.na
e1432_debug_level, e1432_trace_level, e1432_print_errors,
e1432_get_internal_debug_limits
.ad
